<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8" />
        <title>02_bind方法</title>
    </head>
    <body>
        <script>
            var person = {
                name:'马志强'
            }

            var dog = {
                name:'旺财',
                eat:function(a,b){
                    console.log(this);
                    console.log('狗粮' + a + b);
                }
            }

            // call和apply的区别？  改变this指向
            // 参数不一致
            // dog.eat();
            // dog.eat.call(person);


            // bind方法会返回函数的函数体  bind方法不会立即执行
            // 而是需要加（）来调用
            // bind方法的传参和call方法一致
            // 主要作用都是为了改变this的指向
            var result = dog.eat.bind(person,1,2);
            result();


            // 总结：call和apply和bind的区别？
            // call和apply区别在于参数不同
            // call和bind的区别  在方法会不会立即执行
            // 作用都是为了改变this的指向
        </script>
    </body>
</html>